<html>
<head><meta charset="utf-8"><title>planning meeting 2018-10-09 · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html">planning meeting 2018-10-09</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="135471740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471740">(Oct 09 2018 at 14:04)</a>:</h4>
<p>Hello all, so we were going to try and do some planning</p>



<a name="135471773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471773">(Oct 09 2018 at 14:05)</a>:</h4>
<p>I'm not sure whether to do this on Zulip or on <a href="http://appear.in" target="_blank" title="http://appear.in">appear.in</a>, but <span class="user-mention" data-user-id="131694">@scalexm</span> says their network is sort of slow today, so maybe we'll give Zulip a try :)</p>



<a name="135471846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471846">(Oct 09 2018 at 14:06)</a>:</h4>
<p>So let's see</p>



<a name="135471862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471862">(Oct 09 2018 at 14:06)</a>:</h4>
<p>(cc <span class="user-mention" data-user-id="116883">@tmandry</span>, you also were saying you'd be able to attend)</p>



<a name="135471871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471871">(Oct 09 2018 at 14:06)</a>:</h4>
<p>Some lnks:</p>
<ul>
<li><a href="https://paper.dropbox.com/doc/WG-Traits-Planning-Meeting--AOydLZ5eU_V1CMfksqYoZDo_Ag-oDfr6ct8xx63HSAOOmIZX" target="_blank" title="https://paper.dropbox.com/doc/WG-Traits-Planning-Meeting--AOydLZ5eU_V1CMfksqYoZDo_Ag-oDfr6ct8xx63HSAOOmIZX">Planning meeting minutes</a></li>
</ul>



<a name="135471892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471892">(Oct 09 2018 at 14:07)</a>:</h4>
<p><span class="emoji emoji-1f44b" title="wave">:wave:</span></p>



<a name="135471961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471961">(Oct 09 2018 at 14:08)</a>:</h4>
<p>I forget, <span class="user-mention" data-user-id="116883">@tmandry</span> and <span class="user-mention" data-user-id="131694">@scalexm</span>, did we have some "final" set of notes for the steps we had planned to take?</p>



<a name="135471964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471964">(Oct 09 2018 at 14:08)</a>:</h4>
<p>I found various Dropbox papers</p>



<a name="135471998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135471998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135471998">(Oct 09 2018 at 14:09)</a>:</h4>
<p>I think the <a href="https://paper.dropbox.com/doc/NOTES-Upcoming-Traits-Work-4sELjVcMvzFh1sMvNoaf2" target="_blank" title="https://paper.dropbox.com/doc/NOTES-Upcoming-Traits-Work-4sELjVcMvzFh1sMvNoaf2">Upcoming Traits Work</a> doc was it</p>



<a name="135472090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472090">(Oct 09 2018 at 14:10)</a>:</h4>
<p>ok</p>



<a name="135472115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472115">(Oct 09 2018 at 14:11)</a>:</h4>
<p>so that was focused on "Preliminary chalk integration", we can start there</p>



<a name="135472143"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472143" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472143">(Oct 09 2018 at 14:11)</a>:</h4>
<p>there is a check-list for integrate chalk under a flag (<a href="https://github.com/rust-lang/rust/issues/48049" target="_blank" title="https://github.com/rust-lang/rust/issues/48049">#48049</a>)</p>



<a name="135472152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472152">(Oct 09 2018 at 14:12)</a>:</h4>
<p><span class="user-mention" data-user-id="131694">@scalexm</span> has been working on that list</p>



<a name="135472212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472212">(Oct 09 2018 at 14:12)</a>:</h4>
<p>it's maybe worth elaborating these two items a bit:</p>
<ul>
<li>implement unification procedures in integration</li>
<li>implement other bits of integration (fill in panics)</li>
</ul>
<p>which I think are the "next two" items beyond what <span class="user-mention" data-user-id="131694">@scalexm</span> is actively doing</p>



<a name="135472227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472227">(Oct 09 2018 at 14:12)</a>:</h4>
<p><span class="user-mention" data-user-id="131694">@scalexm</span> is there a rust issue for "implement very naive procedure to find the lowered rules for a given domain goal"?</p>



<a name="135472238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472238">(Oct 09 2018 at 14:13)</a>:</h4>
<p>I think there is one</p>



<a name="135472266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472266">(Oct 09 2018 at 14:13)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/49600" target="_blank" title="https://github.com/rust-lang/rust/issues/49600">https://github.com/rust-lang/rust/issues/49600</a></p>



<a name="135472335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472335">(Oct 09 2018 at 14:14)</a>:</h4>
<p>ok, I'm going to start taking some "finalized" notes in the Planning Meeting Minutes doc for now</p>



<a name="135472350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472350">(Oct 09 2018 at 14:14)</a>:</h4>
<p>but I think it'd be best to move these to GH as the "central roadmap planning space"</p>



<a name="135472468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472468">(Oct 09 2018 at 14:16)</a>:</h4>
<p>I guess to step back</p>



<a name="135472478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472478">(Oct 09 2018 at 14:16)</a>:</h4>
<p>one question is the set of lowering rules</p>



<a name="135472490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472490">(Oct 09 2018 at 14:16)</a>:</h4>
<p>I think we're "more or less" on top of this part for now, right? (e.g., <a href="https://github.com/rust-lang/rust/issues/49177" target="_blank" title="https://github.com/rust-lang/rust/issues/49177">#49177</a>)</p>



<a name="135472525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472525">(Oct 09 2018 at 14:17)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> rules <code>Implied-Bound-From-AssocTy</code> and <code>Implied-WC-From-AssocTy</code> are not relevant without GATs for now</p>



<a name="135472549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472549">(Oct 09 2018 at 14:17)</a>:</h4>
<p>rule <code>ProjectionEq-Normalize</code> is blocked by the support of bound tys</p>



<a name="135472557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472557">(Oct 09 2018 at 14:17)</a>:</h4>
<p>and the three remaining ones are in my PR</p>



<a name="135472608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sunjay Varma <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472608">(Oct 09 2018 at 14:18)</a>:</h4>
<p>Should we add the rules for coherence at some point?</p>



<a name="135472609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472609">(Oct 09 2018 at 14:18)</a>:</h4>
<p>ok so bound tys</p>



<a name="135472627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472627">(Oct 09 2018 at 14:18)</a>:</h4>
<p><span class="user-mention" data-user-id="117350">@Sunjay Varma</span> good question; probably eventually but I feel like it's not needed for this preliminary goal</p>



<a name="135472637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472637">(Oct 09 2018 at 14:18)</a>:</h4>
<p>we should maybe make explicit what program we want to work</p>



<a name="135472678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472678">(Oct 09 2018 at 14:19)</a>:</h4>
<p>I was imagining something like</p>
<div class="codehilite"><pre><span></span><span class="cp">#![no_std]</span><span class="w"></span>

<span class="k">trait</span><span class="w"> </span><span class="n">Foo</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>

<span class="k">impl</span><span class="w"> </span><span class="n">Foo</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>

<span class="k">impl</span><span class="w"> </span><span class="n">Foo</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="kt">u32</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">gimme</span><span class="o">&lt;</span><span class="n">F</span>: <span class="nc">Foo</span><span class="o">&gt;</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">gimme</span>::<span class="o">&lt;</span><span class="kt">i32</span><span class="o">&gt;</span><span class="p">();</span><span class="w"></span>
<span class="w">    </span><span class="n">gimme</span>::<span class="o">&lt;</span><span class="kt">u32</span><span class="o">&gt;</span><span class="p">();</span><span class="w"></span>
<span class="w">    </span><span class="n">gimme</span>::<span class="o">&lt;</span><span class="kt">f32</span><span class="o">&gt;</span><span class="p">();</span><span class="w"> </span><span class="c1">//~ ERROR</span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="135472684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472684">(Oct 09 2018 at 14:19)</a>:</h4>
<p>about as simple as it gets :)</p>



<a name="135472840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472840">(Oct 09 2018 at 14:21)</a>:</h4>
<p>(sounds good?)</p>



<a name="135472856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472856">(Oct 09 2018 at 14:21)</a>:</h4>
<p>yes :)</p>



<a name="135472862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sunjay Varma <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472862">(Oct 09 2018 at 14:21)</a>:</h4>
<p>yes :)</p>



<a name="135472881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472881">(Oct 09 2018 at 14:21)</a>:</h4>
<p>so what do we need to support "bound types" exactly</p>



<a name="135472890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472890">(Oct 09 2018 at 14:22)</a>:</h4>
<p>I think our intention was basically to add a <code>BoundTy</code> variant</p>



<a name="135472940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472940">(Oct 09 2018 at 14:22)</a>:</h4>
<p>something like <code>BoundTy(DebruijnIndex, usize)</code></p>



<a name="135472970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472970">(Oct 09 2018 at 14:22)</a>:</h4>
<p>arguably not needed for that initial program</p>



<a name="135472976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472976">(Oct 09 2018 at 14:22)</a>:</h4>
<p>but otoh kind of hard to make things even work without it</p>



<a name="135472998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135472998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135472998">(Oct 09 2018 at 14:23)</a>:</h4>
<p>yes, there is some work already in <a href="https://github.com/rust-lang/rust/pull/52984" target="_blank" title="https://github.com/rust-lang/rust/pull/52984">https://github.com/rust-lang/rust/pull/52984</a> I believe</p>



<a name="135473018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473018">(Oct 09 2018 at 14:23)</a>:</h4>
<p>right</p>



<a name="135473024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473024">(Oct 09 2018 at 14:23)</a>:</h4>
<p>which I forgot to review btw, the author was blocked on how to determine the debruijn index</p>



<a name="135473030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473030">(Oct 09 2018 at 14:23)</a>:</h4>
<p>ok</p>



<a name="135473148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473148">(Oct 09 2018 at 14:25)</a>:</h4>
<p>we had a pre-existing issue: <a href="https://github.com/rust-lang/rust/issues/49810" target="_blank" title="https://github.com/rust-lang/rust/issues/49810">https://github.com/rust-lang/rust/issues/49810</a></p>



<a name="135473169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473169">(Oct 09 2018 at 14:25)</a>:</h4>
<p>we are basically there though, if that PR works out</p>



<a name="135473174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473174">(Oct 09 2018 at 14:25)</a>:</h4>
<p>you still up to review it <span class="user-mention" data-user-id="131694">@scalexm</span> ?</p>



<a name="135473181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473181">(Oct 09 2018 at 14:25)</a>:</h4>
<p>(I can also take a look)</p>



<a name="135473188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473188">(Oct 09 2018 at 14:25)</a>:</h4>
<p>now that I'm budgetting a bit more traits time :)</p>



<a name="135473268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473268">(Oct 09 2018 at 14:26)</a>:</h4>
<p>well I was suggesting to just assume for now that types always live in a specific root universe, so basically just put <code>0</code> for the debruijn index and land that PR</p>



<a name="135473299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473299">(Oct 09 2018 at 14:27)</a>:</h4>
<p>so that we can adjust that later once we support bound tys in all places</p>



<a name="135473379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473379">(Oct 09 2018 at 14:28)</a>:</h4>
<p>sounds reasonable</p>



<a name="135473390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473390">(Oct 09 2018 at 14:28)</a>:</h4>
<p>ideally, add some assertions that this is the case =)</p>



<a name="135473392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473392">(Oct 09 2018 at 14:28)</a>:</h4>
<p>(if applicable)</p>



<a name="135473407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473407">(Oct 09 2018 at 14:29)</a>:</h4>
<p>ok, so, I think the next thing is "implement very naive procedure to find the lowered rules for a given domain goal", which I think is what you are working on</p>



<a name="135473413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473413">(Oct 09 2018 at 14:29)</a>:</h4>
<p>not sure if we have an open issue for <em>that</em></p>



<a name="135473520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473520">(Oct 09 2018 at 14:30)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I gave a link to this: <a href="https://github.com/rust-lang/rust/issues/49600" target="_blank" title="https://github.com/rust-lang/rust/issues/49600">https://github.com/rust-lang/rust/issues/49600</a></p>



<a name="135473528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473528">(Oct 09 2018 at 14:30)</a>:</h4>
<p>oh right, thanks</p>



<a name="135473533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473533">(Oct 09 2018 at 14:30)</a>:</h4>
<p>I was just skimming the old issues and found it as well :)</p>



<a name="135473542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473542">(Oct 09 2018 at 14:30)</a>:</h4>
<p>I will assign to you, then</p>



<a name="135473609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473609">(Oct 09 2018 at 14:31)</a>:</h4>
<p>next up: "implement unification procedures in integration"</p>



<a name="135473618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473618">(Oct 09 2018 at 14:31)</a>:</h4>
<p>I don't see an issue for this</p>



<a name="135473701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473701">(Oct 09 2018 at 14:32)</a>:</h4>
<p>For reference, here is a link to <a href="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context.rs" target="_blank" title="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context.rs">chalk_context.rs</a>, our impl of the chalk traits</p>



<a name="135473728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473728">(Oct 09 2018 at 14:32)</a>:</h4>
<p>I am referring then to <a href="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context.rs#L428-L435" target="_blank" title="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context.rs#L428-L435"><code>unify_parameters</code></a></p>



<a name="135473746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473746">(Oct 09 2018 at 14:33)</a>:</h4>
<p>is that it? I thought there was something else too...</p>



<a name="135473764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473764">(Oct 09 2018 at 14:33)</a>:</h4>
<p>ah, yes, and <a href="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context.rs#L278-L296" target="_blank" title="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context.rs#L278-L296">the <code>ResolventOps</code> methods</a></p>



<a name="135473817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473817">(Oct 09 2018 at 14:34)</a>:</h4>
<p>I'll open an issue on this I guess — probably to cover all 3... I have to refresh my memory, but it seems unlikely to be worthwhile doing them independently</p>



<a name="135473830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473830">(Oct 09 2018 at 14:34)</a>:</h4>
<p>(also, the <a href="https://github.com/rust-lang/rust/labels/WG-compiler-traits" target="_blank" title="https://github.com/rust-lang/rust/labels/WG-compiler-traits">WG-compiler-traits list</a> is pretty decent, we might want to prune it a <em>bit</em> but it seems good-ish)</p>



<a name="135473905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sunjay Varma <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473905">(Oct 09 2018 at 14:35)</a>:</h4>
<p>Is there a section in the rustc-guide about the work that has currently been done to integrate chalk into rustc? It would be good to have at least a short section about where to find things, how they map to similar concepts/files from the chalk repo, etc.</p>



<a name="135473989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473989">(Oct 09 2018 at 14:36)</a>:</h4>
<p><a href="https://rust-lang-nursery.github.io/rustc-guide/traits/index.html" target="_blank" title="https://rust-lang-nursery.github.io/rustc-guide/traits/index.html">https://rust-lang-nursery.github.io/rustc-guide/traits/index.html</a></p>



<a name="135473993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135473993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135473993">(Oct 09 2018 at 14:36)</a>:</h4>
<p>no doubt can be expanded</p>



<a name="135474029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474029">(Oct 09 2018 at 14:37)</a>:</h4>
<p>yes the rustc guide should definitely be expanded</p>



<a name="135474052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474052">(Oct 09 2018 at 14:37)</a>:</h4>
<p>that was something I wanted to work on eventually</p>



<a name="135474054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sunjay Varma <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474054">(Oct 09 2018 at 14:37)</a>:</h4>
<p>I think I may have been looking for: <a href="https://rust-lang-nursery.github.io/rustc-guide/traits/lowering-module.html" target="_blank" title="https://rust-lang-nursery.github.io/rustc-guide/traits/lowering-module.html">https://rust-lang-nursery.github.io/rustc-guide/traits/lowering-module.html</a></p>



<a name="135474114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sunjay Varma <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474114">(Oct 09 2018 at 14:38)</a>:</h4>
<p>Because the rest of the guide is pretty specific to the chalk repo, not rustc, right?</p>



<a name="135474163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474163">(Oct 09 2018 at 14:39)</a>:</h4>
<p><span class="user-mention" data-user-id="117350">@Sunjay Varma</span> well we are basically moving most chalk rules in rustc so this will soon be about rustc too :)</p>



<a name="135474204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474204">(Oct 09 2018 at 14:39)</a>:</h4>
<p>but even the chalk section needs to be completed, in particular the "new-style" well-formedness requirements are not detailed at all</p>



<a name="135474208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sunjay Varma <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474208">(Oct 09 2018 at 14:39)</a>:</h4>
<p>Oh I should clarify. I meant the specific files like "we are putting the rules in <a href="http://xx.rs" target="_blank" title="http://xx.rs">xx.rs</a>" and "lowering happens in <a href="http://yy.rs" target="_blank" title="http://yy.rs">yy.rs</a>" etc.</p>



<a name="135474295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474295">(Oct 09 2018 at 14:40)</a>:</h4>
<p>ok so the last thing on that list is "implement other bits of integration (fill in panics)"</p>



<a name="135474296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474296">(Oct 09 2018 at 14:40)</a>:</h4>
<p>let's see, what are those?</p>



<a name="135474341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474341">(Oct 09 2018 at 14:41)</a>:</h4>
<ul>
<li><a href="https://github.com/rust-lang/rust/blob/e1643a8968753226dab7ab3c9fee826f097550f2/src/librustc_traits/chalk_context.rs#L275-L297" target="_blank" title="https://github.com/rust-lang/rust/blob/e1643a8968753226dab7ab3c9fee826f097550f2/src/librustc_traits/chalk_context.rs#L275-L297"><code>make_solution</code></a></li>
<li><a href="https://github.com/rust-lang/rust/blob/e1643a8968753226dab7ab3c9fee826f097550f2/src/librustc_traits/chalk_context.rs#L133-L135" target="_blank" title="https://github.com/rust-lang/rust/blob/e1643a8968753226dab7ab3c9fee826f097550f2/src/librustc_traits/chalk_context.rs#L133-L135"><code>is_coinductive</code></a></li>
<li><a href="https://github.com/rust-lang/rust/blob/e1643a8968753226dab7ab3c9fee826f097550f2/src/librustc_traits/chalk_context.rs#L149-L156" target="_blank" title="https://github.com/rust-lang/rust/blob/e1643a8968753226dab7ab3c9fee826f097550f2/src/librustc_traits/chalk_context.rs#L149-L156"><code>instantiate_ucanonical_goal</code></a></li>
<li><code>instantiate_ex_clause</code></li>
<li><code>is_trivial_substitution</code></li>
<li>Parameter environment related things:<br>
    - <code>program_clauses</code> (<a href="https://github.com/rust-lang/rust/issues/49600" target="_blank" title="https://github.com/rust-lang/rust/issues/49600">#49600</a>)<br>
    - <code>add_clauses</code></li>
<li>Universe related things:<br>
    - <code>num_universes</code>, <code>map_goal_from_canonical</code>, <code>map_subst_from_canonical</code><br>
    - <code>instantiate_binders_universally</code><br>
    - <code>instantiate_binders_existentially</code></li>
<li>Lifetime juggling:<br>
    - <code>lift_delayed_literal</code><br>
    - <code>lift_ex_clause_to_tcx</code></li>
<li><code>into_ex_clause</code></li>
</ul>



<a name="135474650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474650">(Oct 09 2018 at 14:44)</a>:</h4>
<p>I’m guessing the best reference for these is their implementation in chalk</p>



<a name="135474673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474673">(Oct 09 2018 at 14:44)</a>:</h4>
<p>mm sort of</p>



<a name="135474688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474688">(Oct 09 2018 at 14:44)</a>:</h4>
<p>in many cases there exists comparbale code in rustc</p>



<a name="135474718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474718">(Oct 09 2018 at 14:45)</a>:</h4>
<p>so, I guess I can file issues for those, and try to give a few hints where to find the relevant code (I suspect of this bunch I would be best for that)</p>



<a name="135474839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474839">(Oct 09 2018 at 14:46)</a>:</h4>
<p>I guess that some of them depend on whether we plan to change the <code>Goal</code> etc</p>



<a name="135474852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474852">(Oct 09 2018 at 14:46)</a>:</h4>
<p><span class="user-mention" data-user-id="131694">@scalexm</span> we were talking about maybe moving away from <code>ty::Predicate</code>, right?</p>



<a name="135474868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474868">(Oct 09 2018 at 14:46)</a>:</h4>
<p>I'm looking specifically at <code>is_coinductive</code></p>



<a name="135474873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474873">(Oct 09 2018 at 14:46)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yes</p>



<a name="135474926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474926">(Oct 09 2018 at 14:47)</a>:</h4>
<p>but I think <code>ty::Predicate</code> is not used in <code>chalk_context.rs</code> apart from <code>ParamEnv</code>, which I'm replacing by a new type</p>



<a name="135474937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474937">(Oct 09 2018 at 14:47)</a>:</h4>
<p>ok, that's a good "to do" item for me, and I think those will be good "intro tasks"</p>



<a name="135474942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135474942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135474942">(Oct 09 2018 at 14:47)</a>:</h4>
<blockquote>
<p>but I think <code>ty::Predicate</code> is not used in <code>chalk_context.rs</code> apart from <code>ParamEnv</code>, which I'm replacing by a new type</p>
</blockquote>
<p>isn't it used for <code>DomainGoal</code> or something?</p>



<a name="135475066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475066">(Oct 09 2018 at 14:49)</a>:</h4>
<p>in <code>DomainGoal</code> we only use e.g. <code>ty::TraitPredicate</code> or <code>ty::ProjectionPredicate</code></p>



<a name="135475068"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475068" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475068">(Oct 09 2018 at 14:49)</a>:</h4>
<p>which I think are ok</p>



<a name="135475182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475182">(Oct 09 2018 at 14:50)</a>:</h4>
<p>ok</p>



<a name="135475203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475203">(Oct 09 2018 at 14:51)</a>:</h4>
<p>so — hmm, where does the "universe" work I've been doing fall on this spectrum.</p>



<a name="135475219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475219">(Oct 09 2018 at 14:51)</a>:</h4>
<p>feels like it will help on implementing some of those methods above (the ones I broke out)</p>



<a name="135475223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475223">(Oct 09 2018 at 14:51)</a>:</h4>
<p>may or may not be a <em>blocker</em> per se</p>



<a name="135475414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475414">(Oct 09 2018 at 14:53)</a>:</h4>
<p>OK, is there more to say about prelim chalk integration?</p>



<a name="135475454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475454">(Oct 09 2018 at 14:54)</a>:</h4>
<p>Seems like no</p>



<a name="135475480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475480">(Oct 09 2018 at 14:54)</a>:</h4>
<p>we may need to call it soon (because it's been ~1 hr and I've got other stuff to do), but it seems clear there is a need to break out more tasks</p>



<a name="135475481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475481">(Oct 09 2018 at 14:54)</a>:</h4>
<p>I think that's it</p>



<a name="135475512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475512">(Oct 09 2018 at 14:54)</a>:</h4>
<p>where is the tracking issue to rewrite rustc in lambda Prolog</p>



<a name="135475546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475546">(Oct 09 2018 at 14:55)</a>:</h4>
<p>looking over <a href="https://github.com/rust-lang/rust/labels/WG-compiler-traits" target="_blank" title="https://github.com/rust-lang/rust/labels/WG-compiler-traits">the list of WG-compiler-traits  issues</a>, I see various things that would be worth going into, not all of which are directly <em>chalk</em> related</p>



<a name="135475603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475603">(Oct 09 2018 at 14:56)</a>:</h4>
<p>ah, <span class="user-mention" data-user-id="131694">@scalexm</span>, that reminds me — once we support <em>bound types</em>, we also need to support <em>placeholder types</em> (which obviously overlap with <code>TyParam</code>, but anyway). That would be quite useful for some of the work that <span class="user-mention" data-user-id="125273">@mikeyhew</span> was doing in <a href="https://github.com/rust-lang/rust/pull/54383" target="_blank" title="https://github.com/rust-lang/rust/pull/54383">https://github.com/rust-lang/rust/pull/54383</a></p>



<a name="135475706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475706">(Oct 09 2018 at 14:57)</a>:</h4>
<p>also, I found "refactor structure of <code>ty::Predicate</code>" <a href="https://github.com/rust-lang/rust/issues/48539" target="_blank" title="https://github.com/rust-lang/rust/issues/48539">#48539</a>, but I'm guessing that's out of date and not worth pursuing, particularly if we're going to build up a parallel replacement structure</p>



<a name="135475722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475722">(Oct 09 2018 at 14:57)</a>:</h4>
<p>mmh</p>



<a name="135475736"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475736" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475736">(Oct 09 2018 at 14:57)</a>:</h4>
<p>what are "placeholder" types? Not related to what we used to call skolemized types before I guess?</p>



<a name="135475742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475742">(Oct 09 2018 at 14:57)</a>:</h4>
<p>same thing</p>



<a name="135475748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475748">(Oct 09 2018 at 14:57)</a>:</h4>
<p>e.g., when you have <code>for&lt;T&gt; { ... }</code></p>



<a name="135475750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475750">(Oct 09 2018 at 14:58)</a>:</h4>
<p>ah ok</p>



<a name="135475788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475788">(Oct 09 2018 at 14:58)</a>:</h4>
<p>and you open the binder...</p>



<a name="135475804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475804">(Oct 09 2018 at 14:58)</a>:</h4>
<p>yes I was basically including that in "bound types support" then :)</p>



<a name="135475813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475813">(Oct 09 2018 at 14:58)</a>:</h4>
<p>agreed, I had just overlooked it</p>



<a name="135475817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475817">(Oct 09 2018 at 14:58)</a>:</h4>
<p>and as for <code>TyParam</code> I guess it will just be a "named" <code>BoundTy</code></p>



<a name="135475822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475822">(Oct 09 2018 at 14:58)</a>:</h4>
<p>it would follow the structure of <code>RePlaceholder</code> presumably</p>



<a name="135475826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475826">(Oct 09 2018 at 14:58)</a>:</h4>
<p>yes, so, in regions we also have this split</p>



<a name="135475836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475836">(Oct 09 2018 at 14:58)</a>:</h4>
<p>I don't love it but it's ok</p>



<a name="135475847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475847">(Oct 09 2018 at 14:59)</a>:</h4>
<p>basically "higher-ranked trait bounds" and "higher-ranked types" wind up with <code>RePlaceholder</code></p>



<a name="135475850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475850">(Oct 09 2018 at 14:59)</a>:</h4>
<p>but otherwise you get other variants</p>



<a name="135475901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475901">(Oct 09 2018 at 15:00)</a>:</h4>
<p>ok, well, we should probably stop for now, maybe we ought to reconvene again though</p>



<a name="135475963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135475963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135475963">(Oct 09 2018 at 15:00)</a>:</h4>
<p>we reached a logical stopping point, anyway</p>



<a name="135476009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476009">(Oct 09 2018 at 15:00)</a>:</h4>
<p>the placeholders conversation is a bit confusing to me, because I always associate it with associated types only</p>



<a name="135476020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476020">(Oct 09 2018 at 15:01)</a>:</h4>
<p>the concept of placeholders is more general</p>



<a name="135476033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476033">(Oct 09 2018 at 15:01)</a>:</h4>
<p>e.g., if you are proving <code>forall&lt;T&gt; { T: Debug }</code></p>



<a name="135476045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476045">(Oct 09 2018 at 15:01)</a>:</h4>
<p>then you do that by instantiating <code>T</code> with a "placeholder" meant to represent "any type"</p>



<a name="135476050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476050">(Oct 09 2018 at 15:01)</a>:</h4>
<p>we usually write these as <code>!1</code></p>



<a name="135476061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476061">(Oct 09 2018 at 15:01)</a>:</h4>
<p>whereas if you were proving <code>exists&lt;T&gt; { ... }</code>, you would instantiate <code>T</code> with an inference variable (<code>?1</code>)</p>



<a name="135476115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476115">(Oct 09 2018 at 15:02)</a>:</h4>
<p>in the case of an associated type, the "placeholder" is again meant to represent "any type used as the value of this associated type" :)</p>



<a name="135476129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476129">(Oct 09 2018 at 15:02)</a>:</h4>
<p>right ok</p>



<a name="135476144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476144">(Oct 09 2018 at 15:03)</a>:</h4>
<p>makes sense. thanks</p>



<a name="135476318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135476318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135476318">(Oct 09 2018 at 15:05)</a>:</h4>
<p>OK, great, thanks all! &lt;3</p>
<p>I think that tomorrow I would be up to do a bit more of this planning, though probably a bit later, maybe 11 (vs 10 today)? I wanted to dig into a few non-chalk things. No need to be present but feel free to show up, I'll probably open a thread and talk out loud in Zulip. =)</p>



<a name="135509463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135509463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Diogo Sousa <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135509463">(Oct 10 2018 at 00:26)</a>:</h4>
<p><span class="user-mention" data-user-id="117350">@Sunjay Varma</span> I added a couple links to the "Context &amp; Background About Chalk" in the dropbox paper about the SLG solver.  I'm not entirely sure if they deserve to be there, so I'm just letting you know :)</p>



<a name="135509769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/planning%20meeting%202018-10-09/near/135509769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sunjay Varma <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/planning.20meeting.202018-10-09.html#135509769">(Oct 10 2018 at 00:34)</a>:</h4>
<p>Yup! That's great! Thanks</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>